package Lee_code;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @author blh
 * @date 2024年10月31日 10:57
 * 克隆图, 给你无向 连通 图中一个节点的引用，请你返回该图的 深拷贝（克隆）
 */
public class Lee_133_1031 {
    // private HashMap<Node, Node> visited = new HashMap <> ();
    // public Node cloneGraph(Node node) {
    //     if (node == null) {
    //         return node;
    //     }
    //
    //     // 如果该节点已经被访问过了，则直接从哈希表中取出对应的克隆节点返回
    //     if (visited.containsKey(node)) {
    //         return visited.get(node);
    //     }
    //
    //     // 克隆节点，注意到为了深拷贝我们不会克隆它的邻居的列表
    //     Node cloneNode = new Node(node.val, new ArrayList());
    //     // 哈希表存储
    //     visited.put(node, cloneNode);
    //
    //     // 遍历该节点的邻居并更新克隆节点的邻居列表
    //     for (Node neighbor: node.neighbors) {
    //         cloneNode.neighbors.add(cloneGraph(neighbor));
    //     }
    //     return cloneNode;
    // }
}
